package com.woniuxy.yoga.progress.service;

import com.woniuxy.yoga.commons.core.model.PageInfo;
import com.woniuxy.yoga.progress.dao.model.TeamVacate;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.progress.model.param.SelectVacateParam;
import com.woniuxy.yoga.progress.model.param.VacateParam;

/**
 * <p>
 * 团课请假记录表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface TeamVacateService extends IService<TeamVacate> {

    /**
     * 用户请假申请
     * @param param 请假申请参数
     */
    void vacate(VacateParam param);

    /**
     * 同意请假
     * @param vacateId 请假表id
     */
    void agreeVacate(Integer vacateId);

    /**
     * 拒绝请假
     * @param vacateId 请假表id
     */
    void rejectVacate(Integer vacateId);

    /**
     * 分页查询请假申请
     * @param param 参数
     * @return pageInfo
     */
    PageInfo selectVacates(SelectVacateParam param);
}
